/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import Excepcion.GDLPException;
import Objectos.Usuario;
import java.util.Date;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.faces.application.FacesMessage;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author Kernel32.mathi
 */
@Stateless
@LocalBean
public class PersistenciaUsuario {

    @PersistenceContext
    private EntityManager em;
    
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
    
    
    /*
     *  Valida los datos del usuairo, si uno de los datos no es valido lanza una
     *  exception del tipo GDLPException
     */
    public void validarDatosDelUsuario ( String nombre, String apellido, 
            String nombreUsuario, String contrasenia, Date fechaNacimiento) throws GDLPException {
        
        String error = "";
        
        if (nombre == null || nombre.trim().equals("")) {
            error = "Nombre es vacio \n";
        }
        
        if (nombreUsuario == null || nombreUsuario.trim().equals("")) {
            error = "El nombre de usuarios es vacio \n";
        }
        
        if (contrasenia == null || contrasenia.trim().equals("")) {
            error = "La contraseña es vacia \n";
        } else if (contrasenia.trim().length() < 10 || contrasenia.trim().length() > 20 ) {
            error = "La contraseña tiene que tener entre 10 y 20 caracteres \n";
        }
         
        if (fechaNacimiento == null) {
            error = "La fecha de nacimiento no puede ser vacio \n";
        }
                    
        if (!error.equals("")){
            throw new GDLPException(error);
        }
    }
    
    /*
     *  Crea un usuario con los datos
     *  Si uno de los datos no es valido lanza una exception del tipo GDLPException
     *  Si termina correctamente retorna el usuarios 
     */
    
    public Usuario crearUsuario ( String nombre, String apellido, 
            String nombreUsuario, String contrasenia, Date fechaNacimiento) throws GDLPException{
        
        validarDatosDelUsuario(nombre, apellido, nombreUsuario, contrasenia, fechaNacimiento);
        
        
        return null;
    } 
    
}
